package com.ruoyi.core.service;

import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.enums.AppType;
import com.ruoyi.core.domain.ClientProductUser;
import com.ruoyi.core.vo.*;

/**
 * @Description:
 * @Company: 北京卡拉卡尔股份技术有限公司
 * @Author: Darren Ho
 * @Date: 10/10/2020 16:53
 */
public interface ClientOperationService {

    String login(LoginBody loginBody);


    Boolean productUserLoginCallback(ProductUserLoginCallback productUserLoginCallback);

    HeartbeatMessageResult handleHeartbeatMessage(HeartbeatMessage heartbeatMessage) ;

    Boolean productUserLogoutCallback(ProductUserLogoutCallback productUserLogoutCallback);

    Boolean jungleScoutCookieRefresh(Long productId, Long[] ids);

    Boolean merchantWordCookieRefreshOnOff(Long productId, Long[] productUserIds);

    Boolean jsPluginCookieRefresh(Long productId, Long[] ids);

    /**
     * cookie刷新
     * @param id  产品ID
     * @param appType 产品类型
     */
    Boolean cookieRefresh(Long id, AppType appType);

    JsPluginLoginDTO loginByPluginJs(LoginBody loginBody);

    ClientProductUser getJsPluginProductUser();
}
